
functor x86LrValsFun (structure Token : TOKEN
                               structure Asm : X86_ASSEM) = 
struct
structure ParserData=
struct
structure Header = 
struct
structure A = Asm

val junkLabel = "junk_label"



end
structure LrTable = Token.LrTable
structure Token = Token
local open LrTable in 
val table=let val actionRows =
"\
\\001\000\001\000\000\000\000\000\
\\001\000\002\000\184\000\000\000\
\\001\000\002\000\205\000\027\000\204\000\052\000\203\000\053\000\202\000\
\\054\000\201\000\059\000\200\000\060\000\199\000\062\000\198\000\
\\063\000\197\000\064\000\196\000\065\000\195\000\066\000\194\000\
\\067\000\193\000\068\000\192\000\069\000\191\000\070\000\190\000\
\\079\000\189\000\080\000\188\000\000\000\
\\001\000\002\000\219\000\071\000\218\000\111\000\217\000\000\000\
\\001\000\002\000\220\000\000\000\
\\001\000\002\000\221\000\000\000\
\\001\000\002\000\222\000\000\000\
\\001\000\002\000\223\000\000\000\
\\001\000\002\000\232\000\004\000\231\000\006\000\230\000\000\000\
\\001\000\003\000\013\000\000\000\
\\001\000\003\000\016\000\133\000\015\000\134\000\014\000\000\000\
\\001\000\003\000\045\000\133\000\044\000\134\000\043\000\000\000\
\\001\000\003\000\078\000\005\000\077\000\007\000\076\000\036\000\075\000\
\\037\000\074\000\038\000\073\000\039\000\072\000\040\000\071\000\
\\041\000\070\000\042\000\069\000\043\000\068\000\000\000\
\\001\000\003\000\078\000\005\000\077\000\007\000\076\000\036\000\075\000\
\\037\000\074\000\038\000\073\000\039\000\072\000\040\000\071\000\
\\041\000\070\000\042\000\069\000\043\000\068\000\076\000\041\000\000\000\
\\001\000\003\000\078\000\005\000\113\000\007\000\112\000\012\000\111\000\
\\036\000\075\000\037\000\074\000\038\000\073\000\039\000\072\000\
\\040\000\071\000\041\000\070\000\042\000\069\000\043\000\068\000\
\\102\000\110\000\104\000\109\000\130\000\108\000\131\000\107\000\
\\133\000\106\000\134\000\105\000\000\000\
\\001\000\003\000\078\000\005\000\113\000\007\000\112\000\012\000\140\000\
\\036\000\075\000\037\000\074\000\038\000\073\000\039\000\072\000\
\\040\000\071\000\041\000\070\000\042\000\069\000\043\000\068\000\
\\102\000\110\000\104\000\109\000\130\000\108\000\131\000\107\000\
\\133\000\106\000\134\000\105\000\000\000\
\\001\000\003\000\078\000\005\000\113\000\007\000\142\000\036\000\075\000\
\\037\000\074\000\038\000\073\000\039\000\072\000\040\000\071\000\
\\041\000\070\000\042\000\069\000\043\000\068\000\000\000\
\\001\000\003\000\130\000\000\000\
\\001\000\003\000\131\000\000\000\
\\001\000\004\000\027\000\000\000\
\\001\000\004\000\037\000\000\000\
\\001\000\004\000\088\000\000\000\
\\001\000\004\000\089\000\000\000\
\\001\000\004\000\101\000\000\000\
\\001\000\004\000\229\000\006\000\228\000\010\000\227\000\028\000\216\000\
\\029\000\215\000\030\000\214\000\031\000\213\000\032\000\212\000\
\\033\000\211\000\034\000\210\000\035\000\209\000\000\000\
\\001\000\004\000\236\000\006\000\235\000\010\000\234\000\028\000\216\000\
\\029\000\215\000\030\000\214\000\031\000\213\000\032\000\212\000\
\\033\000\211\000\034\000\210\000\035\000\209\000\000\000\
\\001\000\004\000\240\000\006\000\239\000\010\000\238\000\028\000\216\000\
\\029\000\215\000\030\000\214\000\031\000\213\000\032\000\212\000\
\\033\000\211\000\034\000\210\000\035\000\209\000\000\000\
\\001\000\004\000\247\000\006\000\246\000\010\000\245\000\028\000\216\000\
\\029\000\215\000\030\000\214\000\031\000\213\000\032\000\212\000\
\\033\000\211\000\034\000\210\000\035\000\209\000\000\000\
\\001\000\004\000\251\000\000\000\
\\001\000\004\000\002\001\000\000\
\\001\000\004\000\006\001\000\000\
\\001\000\004\000\011\001\000\000\
\\001\000\004\000\013\001\000\000\
\\001\000\004\000\020\001\006\000\019\001\028\000\216\000\029\000\215\000\
\\030\000\214\000\031\000\213\000\032\000\212\000\033\000\211\000\
\\034\000\210\000\035\000\209\000\000\000\
\\001\000\005\000\034\000\000\000\
\\001\000\005\000\099\000\000\000\
\\001\000\006\000\253\000\000\000\
\\001\000\006\000\255\000\000\000\
\\001\000\006\000\004\001\000\000\
\\001\000\006\000\008\001\000\000\
\\001\000\006\000\015\001\000\000\
\\001\000\006\000\045\001\000\000\
\\001\000\007\000\084\000\009\000\094\000\000\000\
\\001\000\007\000\084\000\022\000\098\000\000\000\
\\001\000\007\000\084\000\024\000\083\000\000\000\
\\001\000\007\000\087\000\000\000\
\\001\000\007\000\128\000\000\000\
\\001\000\007\000\129\000\000\000\
\\001\000\008\000\022\001\000\000\
\\001\000\008\000\024\001\000\000\
\\001\000\008\000\029\001\000\000\
\\001\000\008\000\033\001\000\000\
\\001\000\008\000\040\001\000\000\
\\001\000\008\000\048\001\000\000\
\\001\000\008\000\050\001\000\000\
\\001\000\008\000\053\001\000\000\
\\001\000\008\000\056\001\000\000\
\\001\000\008\000\060\001\000\000\
\\001\000\008\000\062\001\000\000\
\\001\000\008\000\075\001\000\000\
\\001\000\009\000\100\000\000\000\
\\001\000\009\000\114\000\000\000\
\\001\000\009\000\161\000\098\000\118\000\100\000\117\000\000\000\
\\001\000\009\000\162\000\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\001\000\009\000\162\000\072\000\127\000\074\000\126\000\076\000\125\000\
\\086\000\124\000\088\000\123\000\090\000\122\000\092\000\121\000\
\\094\000\120\000\096\000\119\000\000\000\
\\001\000\009\000\163\000\000\000\
\\001\000\009\000\167\000\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\001\000\009\000\168\000\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\001\000\010\000\243\000\028\000\216\000\029\000\215\000\030\000\214\000\
\\031\000\213\000\032\000\212\000\033\000\211\000\034\000\210\000\
\\035\000\209\000\000\000\
\\001\000\012\000\023\000\000\000\
\\001\000\012\000\024\000\000\000\
\\001\000\012\000\025\000\000\000\
\\001\000\012\000\183\000\000\000\
\\001\000\014\000\047\000\000\000\
\\001\000\014\000\049\000\000\000\
\\001\000\014\000\050\000\000\000\
\\001\000\014\000\159\000\000\000\
\\001\000\014\000\174\000\000\000\
\\001\000\014\000\206\000\000\000\
\\001\000\022\000\042\000\076\000\041\000\000\000\
\\001\000\022\000\079\000\076\000\041\000\000\000\
\\001\000\023\000\250\000\000\000\
\\001\000\023\000\000\001\000\000\
\\001\000\023\000\001\001\000\000\
\\001\000\023\000\005\001\000\000\
\\001\000\023\000\009\001\000\000\
\\001\000\023\000\010\001\000\000\
\\001\000\023\000\012\001\000\000\
\\001\000\023\000\021\001\000\000\
\\001\000\023\000\028\001\000\000\
\\001\000\023\000\032\001\000\000\
\\001\000\023\000\037\001\000\000\
\\001\000\023\000\039\001\000\000\
\\001\000\023\000\047\001\000\000\
\\001\000\023\000\049\001\000\000\
\\001\000\023\000\052\001\000\000\
\\001\000\023\000\055\001\000\000\
\\001\000\023\000\059\001\000\000\
\\001\000\023\000\066\001\000\000\
\\001\000\023\000\068\001\000\000\
\\001\000\023\000\070\001\000\000\
\\001\000\023\000\072\001\000\000\
\\001\000\023\000\074\001\000\000\
\\001\000\025\000\063\000\000\000\
\\001\000\025\000\248\000\000\000\
\\001\000\026\000\022\000\000\000\
\\001\000\026\000\048\000\000\000\
\\001\000\026\000\157\000\000\000\
\\001\000\026\000\158\000\000\000\
\\001\000\028\000\216\000\029\000\215\000\030\000\214\000\031\000\213\000\
\\032\000\212\000\033\000\211\000\034\000\210\000\035\000\209\000\000\000\
\\001\000\036\000\075\000\037\000\074\000\038\000\073\000\039\000\072\000\
\\040\000\071\000\041\000\070\000\042\000\069\000\043\000\068\000\000\000\
\\001\000\055\000\010\000\000\000\
\\001\000\056\000\018\000\000\000\
\\001\000\057\000\019\000\000\000\
\\001\000\057\000\026\000\000\000\
\\001\000\058\000\179\000\000\000\
\\001\000\072\000\127\000\074\000\126\000\076\000\125\000\086\000\124\000\
\\088\000\123\000\090\000\122\000\092\000\121\000\094\000\120\000\
\\096\000\119\000\000\000\
\\001\000\076\000\041\000\108\000\176\000\000\000\
\\001\000\076\000\041\000\108\000\177\000\000\000\
\\001\000\076\000\041\000\124\000\043\001\000\000\
\\001\000\076\000\041\000\124\000\082\001\000\000\
\\001\000\084\000\097\000\000\000\
\\001\000\084\000\143\000\000\000\
\\001\000\098\000\118\000\100\000\117\000\124\000\175\000\000\000\
\\001\000\098\000\118\000\100\000\117\000\124\000\061\001\000\000\
\\001\000\098\000\118\000\100\000\117\000\141\000\116\000\000\000\
\\001\000\110\000\092\000\000\000\
\\001\000\117\000\081\000\118\000\080\000\000\000\
\\001\000\117\000\096\000\000\000\
\\001\000\119\000\115\000\000\000\
\\001\000\122\000\008\000\124\000\007\000\000\000\
\\001\000\122\000\031\000\138\000\030\000\139\000\029\000\000\000\
\\001\000\123\000\004\000\000\000\
\\001\000\123\000\006\000\000\000\
\\001\000\123\000\040\000\000\000\
\\001\000\123\000\082\000\000\000\
\\001\000\123\000\249\000\000\000\
\\001\000\123\000\064\001\000\000\
\\001\000\124\000\021\000\000\000\
\\001\000\124\000\058\000\000\000\
\\001\000\124\000\060\000\000\000\
\\001\000\124\000\061\000\000\000\
\\001\000\124\000\065\000\000\000\
\\001\000\127\000\172\000\128\000\171\000\000\000\
\\001\000\140\000\090\000\000\000\
\\084\001\000\000\
\\085\001\000\000\
\\086\001\000\000\
\\087\001\000\000\
\\088\001\000\000\
\\089\001\000\000\
\\090\001\000\000\
\\091\001\003\000\013\000\000\000\
\\092\001\000\000\
\\093\001\000\000\
\\094\001\005\000\034\000\000\000\
\\095\001\000\000\
\\096\001\000\000\
\\097\001\000\000\
\\098\001\000\000\
\\099\001\000\000\
\\100\001\000\000\
\\101\001\000\000\
\\102\001\000\000\
\\103\001\123\000\040\000\000\000\
\\104\001\000\000\
\\105\001\000\000\
\\106\001\000\000\
\\107\001\122\000\031\000\138\000\030\000\139\000\029\000\000\000\
\\108\001\000\000\
\\109\001\000\000\
\\109\001\009\000\093\000\000\000\
\\110\001\000\000\
\\111\001\000\000\
\\112\001\000\000\
\\113\001\000\000\
\\114\001\000\000\
\\115\001\007\000\084\000\000\000\
\\115\001\007\000\084\000\009\000\094\000\000\000\
\\116\001\007\000\087\000\000\000\
\\117\001\076\000\125\000\000\000\
\\118\001\076\000\125\000\000\000\
\\119\001\000\000\
\\120\001\000\000\
\\121\001\000\000\
\\122\001\000\000\
\\123\001\000\000\
\\124\001\098\000\118\000\000\000\
\\125\001\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\126\001\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\127\001\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\128\001\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\129\001\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\130\001\072\000\127\000\074\000\126\000\076\000\125\000\000\000\
\\131\001\000\000\
\\132\001\000\000\
\\133\001\000\000\
\\134\001\000\000\
\\135\001\000\000\
\\136\001\000\000\
\\137\001\000\000\
\\138\001\000\000\
\\139\001\098\000\178\000\000\000\
\\139\001\098\000\178\000\127\000\172\000\128\000\171\000\000\000\
\\140\001\000\000\
\\141\001\003\000\078\000\005\000\077\000\007\000\076\000\036\000\075\000\
\\037\000\074\000\038\000\073\000\039\000\072\000\040\000\071\000\
\\041\000\070\000\042\000\069\000\043\000\068\000\000\000\
\\142\001\000\000\
\\143\001\007\000\084\000\024\000\160\000\000\000\
\\144\001\000\000\
\\145\001\000\000\
\\146\001\000\000\
\\147\001\000\000\
\\148\001\000\000\
\\149\001\000\000\
\\150\001\000\000\
\\151\001\000\000\
\\152\001\000\000\
\\153\001\002\000\205\000\027\000\204\000\052\000\203\000\053\000\202\000\
\\054\000\201\000\059\000\200\000\060\000\199\000\062\000\198\000\
\\063\000\197\000\064\000\196\000\065\000\195\000\066\000\194\000\
\\067\000\193\000\068\000\192\000\069\000\191\000\070\000\190\000\
\\079\000\189\000\080\000\188\000\000\000\
\\154\001\000\000\
\\155\001\000\000\
\\156\001\000\000\
\\157\001\000\000\
\\158\001\000\000\
\\159\001\000\000\
\\160\001\000\000\
\\161\001\000\000\
\\162\001\000\000\
\\163\001\000\000\
\\164\001\000\000\
\\165\001\000\000\
\\166\001\000\000\
\\167\001\000\000\
\\168\001\000\000\
\\169\001\000\000\
\\170\001\000\000\
\\171\001\000\000\
\\172\001\000\000\
\\173\001\000\000\
\\174\001\000\000\
\\175\001\000\000\
\\176\001\000\000\
\\177\001\000\000\
\\178\001\000\000\
\\179\001\000\000\
\\180\001\000\000\
\\181\001\000\000\
\\182\001\000\000\
\\183\001\123\000\016\001\000\000\
\\184\001\000\000\
\\185\001\000\000\
\\186\001\000\000\
\\187\001\000\000\
\\188\001\000\000\
\\189\001\000\000\
\\190\001\000\000\
\\191\001\000\000\
\\192\001\000\000\
\\193\001\000\000\
\\194\001\000\000\
\\195\001\000\000\
\\196\001\000\000\
\\197\001\000\000\
\\198\001\000\000\
\\199\001\000\000\
\\200\001\000\000\
\\201\001\000\000\
\\202\001\002\000\053\000\000\000\
\\203\001\000\000\
\\204\001\000\000\
\\205\001\000\000\
\"
val actionRowNumbers =
"\132\000\133\000\130\000\111\000\
\\009\000\149\000\010\000\112\000\
\\113\000\152\000\138\000\105\000\
\\069\000\070\000\071\000\145\000\
\\114\000\019\000\151\000\150\000\
\\131\000\034\000\034\000\034\000\
\\020\000\134\000\079\000\157\000\
\\161\000\011\000\155\000\073\000\
\\106\000\074\000\075\000\010\001\
\\164\000\163\000\168\000\162\000\
\\153\000\160\000\159\000\158\000\
\\154\000\139\000\131\000\140\000\
\\141\000\010\001\009\001\103\000\
\\165\000\168\000\142\000\013\000\
\\148\000\080\000\147\000\146\000\
\\011\001\127\000\167\000\135\000\
\\170\000\044\000\216\000\215\000\
\\213\000\214\000\212\000\211\000\
\\210\000\209\000\012\000\045\000\
\\175\000\156\000\021\000\022\000\
\\144\000\012\000\126\000\171\000\
\\042\000\110\000\128\000\012\001\
\\121\000\043\000\035\000\173\000\
\\176\000\060\000\023\000\014\000\
\\169\000\061\000\172\000\129\000\
\\125\000\116\000\177\000\046\000\
\\047\000\017\000\018\000\184\000\
\\014\000\205\000\015\000\179\000\
\\016\000\013\001\122\000\014\000\
\\014\000\016\000\016\000\016\000\
\\016\000\016\000\016\000\016\000\
\\016\000\016\000\016\000\016\000\
\\107\000\108\000\185\000\206\000\
\\076\000\207\000\062\000\064\000\
\\065\000\178\000\205\000\174\000\
\\016\000\014\000\187\000\186\000\
\\193\000\192\000\191\000\190\000\
\\189\000\188\000\182\000\181\000\
\\180\000\066\000\067\000\131\000\
\\131\000\143\000\012\000\201\000\
\\183\000\196\000\077\000\063\000\
\\123\000\200\000\199\000\117\000\
\\118\000\198\000\197\000\208\000\
\\203\000\115\000\014\000\014\000\
\\072\000\001\000\195\000\194\000\
\\204\000\205\000\002\000\078\000\
\\217\000\166\000\232\000\109\000\
\\003\000\004\000\005\000\006\000\
\\007\000\109\000\109\000\024\000\
\\008\000\025\000\026\000\109\000\
\\068\000\027\000\000\001\104\000\
\\202\000\218\000\231\000\008\001\
\\007\001\006\001\005\001\004\001\
\\003\001\002\001\001\001\253\000\
\\136\000\255\000\245\000\244\000\
\\243\000\242\000\251\000\252\000\
\\081\000\028\000\109\000\036\000\
\\109\000\037\000\082\000\083\000\
\\029\000\109\000\038\000\084\000\
\\030\000\109\000\039\000\085\000\
\\086\000\031\000\087\000\032\000\
\\109\000\040\000\247\000\131\000\
\\033\000\088\000\048\000\109\000\
\\049\000\109\000\109\000\109\000\
\\089\000\050\000\109\000\109\000\
\\090\000\051\000\109\000\109\000\
\\109\000\091\000\109\000\092\000\
\\052\000\109\000\014\000\119\000\
\\235\000\109\000\041\000\109\000\
\\093\000\053\000\094\000\054\000\
\\248\000\227\000\109\000\095\000\
\\055\000\223\000\109\000\096\000\
\\056\000\239\000\240\000\109\000\
\\219\000\109\000\097\000\057\000\
\\124\000\254\000\058\000\109\000\
\\137\000\109\000\098\000\109\000\
\\099\000\228\000\109\000\100\000\
\\224\000\109\000\101\000\241\000\
\\220\000\109\000\102\000\246\000\
\\237\000\059\000\131\000\234\000\
\\109\000\249\000\109\000\230\000\
\\109\000\226\000\109\000\222\000\
\\109\000\236\000\120\000\233\000\
\\250\000\229\000\225\000\221\000\
\\238\000\000\000"
val gotoT =
"\
\\001\000\081\001\002\000\001\000\000\000\
\\003\000\003\000\000\000\
\\000\000\
\\009\000\007\000\000\000\
\\004\000\010\000\005\000\009\000\000\000\
\\000\000\
\\000\000\
\\019\000\015\000\000\000\
\\000\000\
\\004\000\018\000\005\000\009\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\008\000\026\000\000\000\
\\006\000\031\000\007\000\030\000\000\000\
\\006\000\033\000\007\000\030\000\000\000\
\\006\000\034\000\007\000\030\000\000\000\
\\000\000\
\\022\000\037\000\023\000\036\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\006\000\044\000\007\000\030\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\020\000\050\000\021\000\049\000\000\000\
\\022\000\052\000\023\000\036\000\000\000\
\\000\000\
\\008\000\055\000\010\000\054\000\011\000\053\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\008\000\057\000\000\000\
\\000\000\
\\000\000\
\\020\000\060\000\021\000\049\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\008\000\055\000\010\000\062\000\011\000\053\000\000\000\
\\000\000\
\\012\000\065\000\027\000\064\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\012\000\084\000\027\000\083\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\012\000\089\000\027\000\064\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\027\000\093\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\012\000\102\000\017\000\101\000\018\000\100\000\027\000\064\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\012\000\102\000\017\000\101\000\018\000\130\000\027\000\064\000\000\000\
\\012\000\133\000\013\000\132\000\014\000\131\000\027\000\064\000\000\000\
\\012\000\137\000\015\000\136\000\017\000\135\000\018\000\134\000\
\\027\000\083\000\000\000\
\\000\000\
\\012\000\102\000\017\000\139\000\027\000\064\000\000\000\
\\000\000\
\\000\000\
\\012\000\102\000\017\000\101\000\018\000\142\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\101\000\018\000\143\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\144\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\145\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\146\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\147\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\148\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\149\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\150\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\151\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\152\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\153\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\154\000\027\000\064\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\012\000\133\000\013\000\162\000\014\000\131\000\027\000\064\000\000\000\
\\000\000\
\\012\000\137\000\017\000\163\000\027\000\083\000\000\000\
\\012\000\102\000\017\000\101\000\018\000\164\000\027\000\064\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\008\000\167\000\000\000\
\\008\000\168\000\000\000\
\\000\000\
\\012\000\133\000\014\000\171\000\027\000\064\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\012\000\102\000\017\000\101\000\018\000\178\000\027\000\064\000\000\000\
\\012\000\102\000\017\000\101\000\018\000\179\000\027\000\064\000\000\000\
\\015\000\180\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\012\000\133\000\013\000\183\000\014\000\131\000\027\000\064\000\000\000\
\\024\000\185\000\025\000\184\000\000\000\
\\000\000\
\\024\000\205\000\025\000\184\000\000\000\
\\000\000\
\\000\000\
\\026\000\206\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\222\000\000\000\
\\026\000\223\000\000\000\
\\026\000\224\000\000\000\
\\000\000\
\\026\000\231\000\000\000\
\\026\000\235\000\000\000\
\\026\000\239\000\000\000\
\\026\000\240\000\000\000\
\\026\000\242\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\250\000\000\000\
\\000\000\
\\026\000\252\000\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\001\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\005\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\012\001\000\000\
\\000\000\
\\000\000\
\\008\000\015\001\000\000\
\\026\000\016\001\000\000\
\\000\000\
\\000\000\
\\026\000\021\001\000\000\
\\000\000\
\\026\000\023\001\000\000\
\\026\000\024\001\000\000\
\\026\000\025\001\000\000\
\\000\000\
\\000\000\
\\026\000\028\001\000\000\
\\026\000\029\001\000\000\
\\000\000\
\\000\000\
\\026\000\032\001\000\000\
\\026\000\033\001\000\000\
\\026\000\034\001\000\000\
\\000\000\
\\026\000\036\001\000\000\
\\000\000\
\\000\000\
\\026\000\039\001\000\000\
\\012\000\102\000\017\000\101\000\018\000\040\001\027\000\064\000\000\000\
\\000\000\
\\000\000\
\\026\000\042\001\000\000\
\\000\000\
\\026\000\044\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\049\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\052\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\055\001\000\000\
\\000\000\
\\026\000\056\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\061\001\000\000\
\\000\000\
\\026\000\063\001\000\000\
\\000\000\
\\026\000\065\001\000\000\
\\000\000\
\\000\000\
\\026\000\067\001\000\000\
\\000\000\
\\000\000\
\\026\000\069\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\026\000\071\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\008\000\074\001\000\000\
\\000\000\
\\026\000\075\001\000\000\
\\000\000\
\\026\000\076\001\000\000\
\\000\000\
\\026\000\077\001\000\000\
\\000\000\
\\026\000\078\001\000\000\
\\000\000\
\\026\000\079\001\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\\000\000\
\"
val numstates = 338
val numrules = 122
val s = ref "" and index = ref 0
val string_to_int = fn () => 
let val i = !index
in index := i+2; Char.ord(String.sub(!s,i)) + Char.ord(String.sub(!s,i+1)) * 256
end
val string_to_list = fn s' =>
    let val len = String.size s'
        fun f () =
           if !index < len then string_to_int() :: f()
           else nil
   in index := 0; s := s'; f ()
   end
val string_to_pairlist = fn (conv_key,conv_entry) =>
     let fun f () =
         case string_to_int()
         of 0 => EMPTY
          | n => PAIR(conv_key (n-1),conv_entry (string_to_int()),f())
     in f
     end
val string_to_pairlist_default = fn (conv_key,conv_entry) =>
    let val conv_row = string_to_pairlist(conv_key,conv_entry)
    in fn () =>
       let val default = conv_entry(string_to_int())
           val row = conv_row()
       in (row,default)
       end
   end
val string_to_table = fn (convert_row,s') =>
    let val len = String.size s'
        fun f ()=
           if !index < len then convert_row() :: f()
           else nil
     in (s := s'; index := 0; f ())
     end
local
  val memo = Array.array(numstates+numrules,ERROR)
  val _ =let fun g i=(Array.update(memo,i,REDUCE(i-numstates)); g(i+1))
       fun f i =
            if i=numstates then g i
            else (Array.update(memo,i,SHIFT (STATE i)); f (i+1))
          in f 0 handle Subscript => ()
          end
in
val entry_to_action = fn 0 => ACCEPT | 1 => ERROR | j => Array.sub(memo,(j-2))
end
val gotoT=Array.fromList(string_to_table(string_to_pairlist(NT,STATE),gotoT))
val actionRows=string_to_table(string_to_pairlist_default(T,entry_to_action),actionRows)
val actionRowNumbers = string_to_list actionRowNumbers
val actionT = let val actionRowLookUp=
let val a=Array.fromList(actionRows) in fn i=>Array.sub(a,i) end
in Array.fromList(map actionRowLookUp actionRowNumbers)
end
in LrTable.mkLrTable {actions=actionT,gotos=gotoT,numRules=numrules,
numStates=numstates,initialState=STATE 0}
end
end
local open Header in
type pos = int
type arg = unit
structure MlyValue = 
struct
datatype svalue = VOID | ntVOID of unit ->  unit
 | A_INTC of unit ->  (int) | INTC of unit ->  (int)
 | A_ID of unit ->  (string) | ID of unit ->  (string)
 | areg of unit ->  (A.reg) | reg of unit ->  (A.reg)
 | instr of unit ->  (A.instr) | instrs of unit ->  (A.instr list)
 | func of unit ->  (A.func) | funcs of unit ->  (A.func list)
 | data of unit ->  (A.dec) | datas of unit ->  (A.dec list)
 | datasec of unit ->  (A.datasec) | pprop of unit ->  (A.pprop)
 | pexp of unit ->  (A.pexp)
 | a_pisetlist2 of unit ->  (A.aptr list list)
 | a_pisetlist of unit ->  (A.aptr list list)
 | aptrlist2 of unit ->  (A.aptr list)
 | aptrlist of unit ->  (A.aptr list) | aptr of unit ->  (A.aptr)
 | dec of unit ->  ( ( A.etype * A.aptr * A.aptr ) )
 | decs of unit ->  ( ( A.etype * A.aptr * A.aptr )  list)
 | textsec of unit ->  (A.textsec) | tipe of unit ->  (A.etype)
 | field of unit ->  ( ( int * A.etype ) )
 | fields of unit ->  ( ( int * A.etype )  list)
 | funret of unit ->  ( ( string * A.etype ) )
 | funrets of unit ->  ( ( string * A.etype )  list)
 | funrettype of unit ->  (A.funrettype)
 | sdec of unit ->  (A.sdec option) | prog of unit ->  (A.prog)
end
type svalue = MlyValue.svalue
type result = A.prog
end
structure EC=
struct
open LrTable
val is_keyword =
fn (T 22) => true | _ => false
val preferred_change = 
(nil
,(T 5) :: nil
)::
nil
val noShift = 
fn (T 0) => true | _ => false
val showTerminal =
fn (T 0) => "EOF"
  | (T 1) => "ID"
  | (T 2) => "A_ID"
  | (T 3) => "INTC"
  | (T 4) => "A_INTC"
  | (T 5) => "LPAREN"
  | (T 6) => "A_LPAREN"
  | (T 7) => "RPAREN"
  | (T 8) => "A_RPAREN"
  | (T 9) => "DOLLAR"
  | (T 10) => "LBRACE"
  | (T 11) => "A_LBRACE"
  | (T 12) => "RBRACE"
  | (T 13) => "A_RBRACE"
  | (T 14) => "LREGU"
  | (T 15) => "A_LREGU"
  | (T 16) => "RREGU"
  | (T 17) => "A_RREGU"
  | (T 18) => "ARRAY"
  | (T 19) => "A_ARRAY"
  | (T 20) => "SEMICOLON"
  | (T 21) => "A_SEMICOLON"
  | (T 22) => "COMMA"
  | (T 23) => "A_COMMA"
  | (T 24) => "COLON"
  | (T 25) => "A_COLON"
  | (T 26) => "RET"
  | (T 27) => "EAX"
  | (T 28) => "EBX"
  | (T 29) => "ECX"
  | (T 30) => "EDX"
  | (T 31) => "EDI"
  | (T 32) => "ESI"
  | (T 33) => "EBP"
  | (T 34) => "ESP"
  | (T 35) => "A_EAX"
  | (T 36) => "A_EBX"
  | (T 37) => "A_ECX"
  | (T 38) => "A_EDX"
  | (T 39) => "A_ESI"
  | (T 40) => "A_EDI"
  | (T 41) => "A_EBP"
  | (T 42) => "A_ESP"
  | (T 43) => "MYINT"
  | (T 44) => "A_MYINT"
  | (T 45) => "MYBOOL"
  | (T 46) => "A_MYBOOL"
  | (T 47) => "MYVOID"
  | (T 48) => "A_MYVOID"
  | (T 49) => "MYSTRUCT"
  | (T 50) => "A_MYSTRUCT"
  | (T 51) => "ADDL"
  | (T 52) => "CMPL"
  | (T 53) => "XCHG"
  | (T 54) => "TEXT"
  | (T 55) => "DATA"
  | (T 56) => "ALIGN"
  | (T 57) => "GLOBL"
  | (T 58) => "SUBL"
  | (T 59) => "IMULL"
  | (T 60) => "LEAVE"
  | (T 61) => "LEAL"
  | (T 62) => "MOVL"
  | (T 63) => "POPL"
  | (T 64) => "PUSHL"
  | (T 65) => "JMP"
  | (T 66) => "JE"
  | (T 67) => "JG"
  | (T 68) => "JGE"
  | (T 69) => "CALL"
  | (T 70) => "MALLOC"
  | (T 71) => "A_ADD"
  | (T 72) => "MINUS"
  | (T 73) => "A_MINUS"
  | (T 74) => "MUL"
  | (T 75) => "A_MUL"
  | (T 76) => "DIV"
  | (T 77) => "A_DIV"
  | (T 78) => "IDIVL"
  | (T 79) => "CLTD"
  | (T 80) => "MODUS"
  | (T 81) => "A_MODUS"
  | (T 82) => "ASSIGN"
  | (T 83) => "A_ASSIGN"
  | (T 84) => "GT"
  | (T 85) => "A_GT"
  | (T 86) => "GE"
  | (T 87) => "A_GE"
  | (T 88) => "LT"
  | (T 89) => "A_LT"
  | (T 90) => "LE"
  | (T 91) => "A_LE"
  | (T 92) => "EQ"
  | (T 93) => "A_EQ"
  | (T 94) => "NEQ"
  | (T 95) => "A_NEQ"
  | (T 96) => "BAND"
  | (T 97) => "A_BAND"
  | (T 98) => "BOR"
  | (T 99) => "A_BOR"
  | (T 100) => "NOT"
  | (T 101) => "A_NOT"
  | (T 102) => "TRUE"
  | (T 103) => "A_TRUE"
  | (T 104) => "FALSE"
  | (T 105) => "A_FALSE"
  | (T 106) => "DOT"
  | (T 107) => "A_DOT"
  | (T 108) => "PTR_OP"
  | (T 109) => "A_PTR_OP"
  | (T 110) => "FREE"
  | (T 111) => "ALLOC"
  | (T 112) => "NULL"
  | (T 113) => "A_NULL"
  | (T 114) => "UNARY"
  | (T 115) => "ASNOP"
  | (T 116) => "LONG"
  | (T 117) => "REPT"
  | (T 118) => "ENDR"
  | (T 119) => "TAG"
  | (T 120) => "A_IMPLY"
  | (T 121) => "A_STRUCT"
  | (T 122) => "LANNO"
  | (T 123) => "RANNO"
  | (T 124) => "A_IFF"
  | (T 125) => "A_PI"
  | (T 126) => "A_N"
  | (T 127) => "A_D"
  | (T 128) => "A_PREV"
  | (T 129) => "A_FORALL"
  | (T 130) => "A_EXISTS"
  | (T 131) => "A_RESULT"
  | (T 132) => "A_LIST"
  | (T 133) => "A_TREE"
  | (T 134) => "A_LET"
  | (T 135) => "A_IN"
  | (T 136) => "A_END"
  | (T 137) => "A_WILD"
  | (T 138) => "A_INT"
  | (T 139) => "A_PRE"
  | (T 140) => "A_POST"
  | _ => "bogus-term"
local open Header in
val errtermvalue=
fn (T 1) => MlyValue.ID(fn () => ("bogus")) | 
(T 3) => MlyValue.INTC(fn () => (1)) | 
_ => MlyValue.VOID
end
val terms = (T 0) :: (T 5) :: (T 6) :: (T 7) :: (T 8) :: (T 9) :: (T 
10) :: (T 11) :: (T 12) :: (T 13) :: (T 14) :: (T 15) :: (T 16) :: (T 
17) :: (T 18) :: (T 19) :: (T 20) :: (T 21) :: (T 22) :: (T 23) :: (T 
24) :: (T 25) :: (T 26) :: (T 27) :: (T 28) :: (T 29) :: (T 30) :: (T 
31) :: (T 32) :: (T 33) :: (T 34) :: (T 35) :: (T 36) :: (T 37) :: (T 
38) :: (T 39) :: (T 40) :: (T 41) :: (T 42) :: (T 43) :: (T 44) :: (T 
45) :: (T 46) :: (T 47) :: (T 48) :: (T 49) :: (T 50) :: (T 51) :: (T 
52) :: (T 53) :: (T 54) :: (T 55) :: (T 56) :: (T 57) :: (T 58) :: (T 
59) :: (T 60) :: (T 61) :: (T 62) :: (T 63) :: (T 64) :: (T 65) :: (T 
66) :: (T 67) :: (T 68) :: (T 69) :: (T 70) :: (T 71) :: (T 72) :: (T 
73) :: (T 74) :: (T 75) :: (T 76) :: (T 77) :: (T 78) :: (T 79) :: (T 
80) :: (T 81) :: (T 82) :: (T 83) :: (T 84) :: (T 85) :: (T 86) :: (T 
87) :: (T 88) :: (T 89) :: (T 90) :: (T 91) :: (T 92) :: (T 93) :: (T 
94) :: (T 95) :: (T 96) :: (T 97) :: (T 98) :: (T 99) :: (T 100) :: 
(T 101) :: (T 102) :: (T 103) :: (T 104) :: (T 105) :: (T 106) :: (T 
107) :: (T 108) :: (T 109) :: (T 110) :: (T 111) :: (T 112) :: (T 113)
 :: (T 114) :: (T 115) :: (T 116) :: (T 117) :: (T 118) :: (T 119) :: 
(T 120) :: (T 121) :: (T 122) :: (T 123) :: (T 124) :: (T 125) :: (T 
126) :: (T 127) :: (T 128) :: (T 129) :: (T 130) :: (T 131) :: (T 132)
 :: (T 133) :: (T 134) :: (T 135) :: (T 136) :: (T 137) :: (T 138) :: 
(T 139) :: (T 140) :: nil
end
structure Actions =
struct 
exception mlyAction of int
local open Header in
val actions = 
fn (i392,defaultPos,stack,
    (()):arg) =>
case (i392,stack)
of (0,(_,(MlyValue.datasec datasec1,_,datasec1right))::(_,(
MlyValue.textsec textsec1,textsecleft,_))::(_,(MlyValue.funrettype 
funrettype1,_,_))::(_,(MlyValue.sdec sdec1,sdec1left,_))::rest671) => 
let val result=MlyValue.prog(fn _ => let val sdec as sdec1=sdec1 ()
val funrettype as funrettype1=funrettype1 ()
val textsec as textsec1=textsec1 ()
val datasec as datasec1=datasec1 ()
 in (
A.Prog {sdec=sdec, funrettype=funrettype, textsec=textsec, datasec=datasec, pos=textsecleft}
) end
)
 in (LrTable.NT 0,(result,sdec1left,datasec1right),rest671) end
| (1,(_,(_,_,RANNO1right))::_::(_,(MlyValue.fields fields1,_,_))::_::(
_,(MlyValue.A_ID A_ID1,_,_))::(_,(_,A_STRUCTleft,_))::(_,(_,LANNO1left
,_))::rest671) => let val result=MlyValue.sdec(fn _ => let val A_ID
 as A_ID1=A_ID1 ()
val fields as fields1=fields1 ()
 in (SOME (A.Sdec {name=A_ID, fields=fields, pos=A_STRUCTleft})) end
)
 in (LrTable.NT 1,(result,LANNO1left,RANNO1right),rest671) end
| (2,(_,(_,_,RANNO1right))::_::(_,(MlyValue.fields fields1,_,_))::_::_
::(_,(_,A_STRUCTleft,_))::(_,(_,LANNO1left,_))::rest671) => let val 
result=MlyValue.sdec(fn _ => let val fields as fields1=fields1 ()
 in (SOME (A.Sdec {name="list", fields=fields, pos=A_STRUCTleft})) end
)
 in (LrTable.NT 1,(result,LANNO1left,RANNO1right),rest671) end
| (3,(_,(_,_,RANNO1right))::_::(_,(MlyValue.fields fields1,_,_))::_::_
::(_,(_,A_STRUCTleft,_))::(_,(_,LANNO1left,_))::rest671) => let val 
result=MlyValue.sdec(fn _ => let val fields as fields1=fields1 ()
 in (SOME (A.Sdec {name="tree", fields=fields, pos=A_STRUCTleft})) end
)
 in (LrTable.NT 1,(result,LANNO1left,RANNO1right),rest671) end
| (4,(_,(_,_,RANNO1right))::(_,(_,LANNO1left,_))::rest671) => let val 
result=MlyValue.sdec(fn _ => (NONE))
 in (LrTable.NT 1,(result,LANNO1left,RANNO1right),rest671) end
| (5,(_,(_,_,RANNO1right))::(_,(MlyValue.funrets funrets1,_,_))::(_,(_
,LANNOleft as LANNO1left,_))::rest671) => let val result=
MlyValue.funrettype(fn _ => let val funrets as funrets1=funrets1 ()
 in (A.FunRetType {pairs=funrets, pos=LANNOleft}) end
)
 in (LrTable.NT 2,(result,LANNO1left,RANNO1right),rest671) end
| (6,(_,(MlyValue.funrets funrets1,_,funrets1right))::(_,(
MlyValue.funret funret1,funret1left,_))::rest671) => let val result=
MlyValue.funrets(fn _ => let val funret as funret1=funret1 ()
val funrets as funrets1=funrets1 ()
 in (funret :: funrets) end
)
 in (LrTable.NT 3,(result,funret1left,funrets1right),rest671) end
| (7,(_,(MlyValue.funret funret1,funret1left,funret1right))::rest671)
 => let val result=MlyValue.funrets(fn _ => let val funret as funret1=
funret1 ()
 in ([funret]) end
)
 in (LrTable.NT 3,(result,funret1left,funret1right),rest671) end
| (8,(_,(_,_,A_SEMICOLON1right))::(_,(MlyValue.tipe tipe1,_,_))::_::(_
,(MlyValue.A_ID A_ID1,A_ID1left,_))::rest671) => let val result=
MlyValue.funret(fn _ => let val A_ID as A_ID1=A_ID1 ()
val tipe as tipe1=tipe1 ()
 in ((A_ID, tipe)) end
)
 in (LrTable.NT 4,(result,A_ID1left,A_SEMICOLON1right),rest671) end
| (9,(_,(MlyValue.fields fields1,_,fields1right))::(_,(MlyValue.field 
field1,field1left,_))::rest671) => let val result=MlyValue.fields(fn _
 => let val field as field1=field1 ()
val fields as fields1=fields1 ()
 in (field :: fields) end
)
 in (LrTable.NT 5,(result,field1left,fields1right),rest671) end
| (10,(_,(MlyValue.field field1,field1left,field1right))::rest671) => 
let val result=MlyValue.fields(fn _ => let val field as field1=field1 
()
 in ([field]) end
)
 in (LrTable.NT 5,(result,field1left,field1right),rest671) end
| (11,(_,(_,_,A_SEMICOLON1right))::(_,(MlyValue.tipe tipe1,_,_))::_::(
_,(MlyValue.A_INTC A_INTC1,A_INTC1left,_))::rest671) => let val result
=MlyValue.field(fn _ => let val A_INTC as A_INTC1=A_INTC1 ()
val tipe as tipe1=tipe1 ()
 in ((A_INTC, tipe)) end
)
 in (LrTable.NT 6,(result,A_INTC1left,A_SEMICOLON1right),rest671) end
| (12,(_,(_,A_INT1left,A_INT1right))::rest671) => let val result=
MlyValue.tipe(fn _ => (A.Int))
 in (LrTable.NT 7,(result,A_INT1left,A_INT1right),rest671) end
| (13,(_,(MlyValue.A_ID A_ID1,_,A_ID1right))::(_,(_,A_STRUCT1left,_))
::rest671) => let val result=MlyValue.tipe(fn _ => let val A_ID as 
A_ID1=A_ID1 ()
 in (A.Str A_ID) end
)
 in (LrTable.NT 7,(result,A_STRUCT1left,A_ID1right),rest671) end
| (14,(_,(_,_,A_LIST1right))::(_,(_,A_STRUCT1left,_))::rest671) => 
let val result=MlyValue.tipe(fn _ => (A.Str "list"))
 in (LrTable.NT 7,(result,A_STRUCT1left,A_LIST1right),rest671) end
| (15,(_,(_,_,A_TREE1right))::(_,(_,A_STRUCT1left,_))::rest671) => 
let val result=MlyValue.tipe(fn _ => (A.Str "tree"))
 in (LrTable.NT 7,(result,A_STRUCT1left,A_TREE1right),rest671) end
| (16,(_,(_,A_WILD1left,A_WILD1right))::rest671) => let val result=
MlyValue.tipe(fn _ => (A.Wild))
 in (LrTable.NT 7,(result,A_WILD1left,A_WILD1right),rest671) end
| (17,(_,(_,_,A_MUL1right))::(_,(MlyValue.tipe tipe1,tipe1left,_))::
rest671) => let val result=MlyValue.tipe(fn _ => let val tipe as tipe1
=tipe1 ()
 in (A.Ptr tipe) end
)
 in (LrTable.NT 7,(result,tipe1left,A_MUL1right),rest671) end
| (18,(_,(MlyValue.funcs funcs1,_,funcs1right))::(_,(MlyValue.INTC 
INTC1,_,_))::_::(_,(_,TEXTleft as TEXT1left,_))::rest671) => let val 
result=MlyValue.textsec(fn _ => let val INTC1=INTC1 ()
val funcs as funcs1=funcs1 ()
 in (A.Text1 {funcs=funcs, pos=TEXTleft}) end
)
 in (LrTable.NT 8,(result,TEXT1left,funcs1right),rest671) end
| (19,(_,(MlyValue.func func1,func1left,func1right))::rest671) => let 
val result=MlyValue.funcs(fn _ => let val func as func1=func1 ()
 in ([func]) end
)
 in (LrTable.NT 21,(result,func1left,func1right),rest671) end
| (20,(_,(MlyValue.funcs funcs1,_,funcs1right))::(_,(MlyValue.func 
func1,func1left,_))::rest671) => let val result=MlyValue.funcs(fn _
 => let val func as func1=func1 ()
val funcs as funcs1=funcs1 ()
 in (func :: funcs) end
)
 in (LrTable.NT 21,(result,func1left,funcs1right),rest671) end
| (21,(_,(MlyValue.instrs instrs1,_,instrs1right))::(_,(MlyValue.ID 
ID1,_,_))::(_,(_,GLOBLleft,_))::_::(_,(MlyValue.pprop pprop2,_,_))::_
::_::(_,(MlyValue.pprop pprop1,_,_))::_::_::_::_::(_,(MlyValue.decs 
decs1,_,_))::(_,(_,LANNO1left,_))::rest671) => let val result=
MlyValue.func(fn _ => let val decs as decs1=decs1 ()
val pprop1=pprop1 ()
val pprop2=pprop2 ()
val ID as ID1=ID1 ()
val instrs as instrs1=instrs1 ()
 in (
A.Func {decs=decs, pre=pprop1, post=pprop2, name=ID, instrs=instrs, pos=GLOBLleft}
) end
)
 in (LrTable.NT 22,(result,LANNO1left,instrs1right),rest671) end
| (22,(_,(MlyValue.decs decs1,_,decs1right))::(_,(MlyValue.dec dec1,
dec1left,_))::rest671) => let val result=MlyValue.decs(fn _ => let 
val dec as dec1=dec1 ()
val decs as decs1=decs1 ()
 in (dec :: decs) end
)
 in (LrTable.NT 9,(result,dec1left,decs1right),rest671) end
| (23,rest671) => let val result=MlyValue.decs(fn _ => ([]))
 in (LrTable.NT 9,(result,defaultPos,defaultPos),rest671) end
| (24,(_,(_,_,A_SEMICOLON1right))::(_,(MlyValue.aptr aptr2,_,_))::_::(
_,(MlyValue.aptr aptr1,_,_))::(_,(MlyValue.tipe tipe1,tipe1left,_))::
rest671) => let val result=MlyValue.dec(fn _ => let val tipe as tipe1=
tipe1 ()
val aptr1=aptr1 ()
val aptr2=aptr2 ()
 in ((tipe, aptr1, aptr2)) end
)
 in (LrTable.NT 10,(result,tipe1left,A_SEMICOLON1right),rest671) end
| (25,(_,(MlyValue.areg areg1,areg1left,areg1right))::rest671) => let 
val result=MlyValue.aptr(fn _ => let val areg as areg1=areg1 ()
 in (A.Preg areg) end
)
 in (LrTable.NT 11,(result,areg1left,areg1right),rest671) end
| (26,(_,(_,_,A_RPAREN1right))::(_,(MlyValue.areg areg1,_,_))::_::(_,(
MlyValue.A_INTC A_INTC1,A_INTC1left,_))::rest671) => let val result=
MlyValue.aptr(fn _ => let val A_INTC as A_INTC1=A_INTC1 ()
val areg as areg1=areg1 ()
 in (A.Pstk (A_INTC, areg)) end
)
 in (LrTable.NT 11,(result,A_INTC1left,A_RPAREN1right),rest671) end
| (27,(_,(_,_,A_RPAREN1right))::(_,(MlyValue.areg areg1,_,_))::(_,(_,
A_LPAREN1left,_))::rest671) => let val result=MlyValue.aptr(fn _ => 
let val areg as areg1=areg1 ()
 in (A.Pstk (0, areg)) end
)
 in (LrTable.NT 11,(result,A_LPAREN1left,A_RPAREN1right),rest671) end
| (28,(_,(MlyValue.pexp pexp1,_,pexp1right))::_::(_,(MlyValue.A_INTC 
A_INTC1,_,_))::_::_::(_,(MlyValue.aptr aptr1,aptr1left,_))::rest671)
 => let val result=MlyValue.aptr(fn _ => let val aptr as aptr1=aptr1 
()
val A_INTC as A_INTC1=A_INTC1 ()
val pexp as pexp1=pexp1 ()
 in (A.Pmem (A_INTC, aptr, pexp)) end
)
 in (LrTable.NT 11,(result,aptr1left,pexp1right),rest671) end
| (29,(_,(MlyValue.A_ID A_ID1,A_ID1left,A_ID1right))::rest671) => let 
val result=MlyValue.aptr(fn _ => let val A_ID as A_ID1=A_ID1 ()
 in (A.Pid A_ID) end
)
 in (LrTable.NT 11,(result,A_ID1left,A_ID1right),rest671) end
| (30,(_,(_,_,A_RPAREN1right))::(_,(MlyValue.aptr aptr1,_,_))::(_,(_,
A_LPAREN1left,_))::rest671) => let val result=MlyValue.aptr(fn _ => 
let val aptr as aptr1=aptr1 ()
 in (aptr) end
)
 in (LrTable.NT 11,(result,A_LPAREN1left,A_RPAREN1right),rest671) end
| (31,(_,(MlyValue.aptr aptr1,aptr1left,aptr1right))::rest671) => let 
val result=MlyValue.pexp(fn _ => let val aptr as aptr1=aptr1 ()
 in (A.Pvar aptr) end
)
 in (LrTable.NT 16,(result,aptr1left,aptr1right),rest671) end
| (32,(_,(MlyValue.A_INTC A_INTC1,A_INTC1left,A_INTC1right))::rest671)
 => let val result=MlyValue.pexp(fn _ => let val A_INTC as A_INTC1=
A_INTC1 ()
 in (A.PintNum A_INTC) end
)
 in (LrTable.NT 16,(result,A_INTC1left,A_INTC1right),rest671) end
| (33,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pexp(fn _ => 
let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Pplus (pexp1, pexp2)) end
)
 in (LrTable.NT 16,(result,pexp1left,pexp2right),rest671) end
| (34,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pexp(fn _ => 
let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Pminus (pexp1, pexp2)) end
)
 in (LrTable.NT 16,(result,pexp1left,pexp2right),rest671) end
| (35,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pexp(fn _ => 
let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Ptimes (pexp1, pexp2)) end
)
 in (LrTable.NT 16,(result,pexp1left,pexp2right),rest671) end
| (36,(_,(_,_,A_RPAREN1right))::(_,(MlyValue.pexp pexp1,_,_))::(_,(_,
A_LPAREN1left,_))::rest671) => let val result=MlyValue.pexp(fn _ => 
let val pexp as pexp1=pexp1 ()
 in (pexp) end
)
 in (LrTable.NT 16,(result,A_LPAREN1left,A_RPAREN1right),rest671) end
| (37,(_,(_,A_TRUE1left,A_TRUE1right))::rest671) => let val result=
MlyValue.pprop(fn _ => (A.Ptrue))
 in (LrTable.NT 17,(result,A_TRUE1left,A_TRUE1right),rest671) end
| (38,(_,(MlyValue.pprop pprop1,_,pprop1right))::(_,(_,A_NOT1left,_))
::rest671) => let val result=MlyValue.pprop(fn _ => let val pprop as 
pprop1=pprop1 ()
 in (A.Pnot pprop) end
)
 in (LrTable.NT 17,(result,A_NOT1left,pprop1right),rest671) end
| (39,(_,(MlyValue.pprop pprop2,_,pprop2right))::_::(_,(MlyValue.pprop
 pprop1,pprop1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val pprop1=pprop1 ()
val pprop2=pprop2 ()
 in (A.Pand (pprop1, pprop2)) end
)
 in (LrTable.NT 17,(result,pprop1left,pprop2right),rest671) end
| (40,(_,(MlyValue.pprop pprop2,_,pprop2right))::_::(_,(MlyValue.pprop
 pprop1,pprop1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val pprop1=pprop1 ()
val pprop2=pprop2 ()
 in (A.Por (pprop1, pprop2)) end
)
 in (LrTable.NT 17,(result,pprop1left,pprop2right),rest671) end
| (41,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Pgt (pexp1, pexp2)) end
)
 in (LrTable.NT 17,(result,pexp1left,pexp2right),rest671) end
| (42,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Pge (pexp1, pexp2)) end
)
 in (LrTable.NT 17,(result,pexp1left,pexp2right),rest671) end
| (43,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Plt (pexp1, pexp2)) end
)
 in (LrTable.NT 17,(result,pexp1left,pexp2right),rest671) end
| (44,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Ple (pexp1, pexp2)) end
)
 in (LrTable.NT 17,(result,pexp1left,pexp2right),rest671) end
| (45,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Peq (pexp1, pexp2)) end
)
 in (LrTable.NT 17,(result,pexp1left,pexp2right),rest671) end
| (46,(_,(MlyValue.pexp pexp2,_,pexp2right))::_::(_,(MlyValue.pexp 
pexp1,pexp1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val pexp1=pexp1 ()
val pexp2=pexp2 ()
 in (A.Pne (pexp1, pexp2)) end
)
 in (LrTable.NT 17,(result,pexp1left,pexp2right),rest671) end
| (47,(_,(MlyValue.pprop pprop1,_,pprop1right))::_::(_,(MlyValue.tipe 
tipe1,_,_))::_::(_,(MlyValue.A_ID A_ID1,_,_))::(_,(_,A_FORALL1left,_))
::rest671) => let val result=MlyValue.pprop(fn _ => let val A_ID as 
A_ID1=A_ID1 ()
val tipe as tipe1=tipe1 ()
val pprop as pprop1=pprop1 ()
 in (A.Pforall (A_ID, tipe, pprop)) end
)
 in (LrTable.NT 17,(result,A_FORALL1left,pprop1right),rest671) end
| (48,(_,(MlyValue.pprop pprop1,_,pprop1right))::_::(_,(MlyValue.tipe 
tipe1,_,_))::_::(_,(MlyValue.A_ID A_ID1,_,_))::(_,(_,A_EXISTS1left,_))
::rest671) => let val result=MlyValue.pprop(fn _ => let val A_ID as 
A_ID1=A_ID1 ()
val tipe as tipe1=tipe1 ()
val pprop as pprop1=pprop1 ()
 in (A.Pex (A_ID, tipe, pprop)) end
)
 in (LrTable.NT 17,(result,A_EXISTS1left,pprop1right),rest671) end
| (49,(_,(_,_,A_RPAREN1right))::(_,(MlyValue.a_pisetlist a_pisetlist1,
_,_))::(_,(_,A_LPAREN1left,_))::rest671) => let val result=
MlyValue.pprop(fn _ => let val a_pisetlist as a_pisetlist1=
a_pisetlist1 ()
 in (A.Pi(a_pisetlist)) end
)
 in (LrTable.NT 17,(result,A_LPAREN1left,A_RPAREN1right),rest671) end
| (50,(_,(_,_,A_N1right))::_::(_,(MlyValue.aptrlist aptrlist1,_,_))::(
_,(_,A_LBRACE1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val aptrlist as aptrlist1=aptrlist1 ()
 in (A.N(aptrlist)) end
)
 in (LrTable.NT 17,(result,A_LBRACE1left,A_N1right),rest671) end
| (51,(_,(_,_,A_D1right))::_::(_,(MlyValue.aptrlist aptrlist1,_,_))::(
_,(_,A_LBRACE1left,_))::rest671) => let val result=MlyValue.pprop(fn _
 => let val aptrlist as aptrlist1=aptrlist1 ()
 in (A.D(aptrlist)) end
)
 in (LrTable.NT 17,(result,A_LBRACE1left,A_D1right),rest671) end
| (52,(_,(_,_,A_RPAREN1right))::(_,(MlyValue.pexp pexp1,_,_))::_::(_,(
_,A_LIST1left,_))::rest671) => let val result=MlyValue.pprop(fn _ => 
let val pexp as pexp1=pexp1 ()
 in (A.Plist (pexp)) end
)
 in (LrTable.NT 17,(result,A_LIST1left,A_RPAREN1right),rest671) end
| (53,(_,(_,_,A_RPAREN1right))::(_,(MlyValue.pexp pexp1,_,_))::_::(_,(
_,A_TREE1left,_))::rest671) => let val result=MlyValue.pprop(fn _ => 
let val pexp as pexp1=pexp1 ()
 in (A.Ptree (pexp)) end
)
 in (LrTable.NT 17,(result,A_TREE1left,A_RPAREN1right),rest671) end
| (54,(_,(_,_,A_RPAREN1right))::(_,(MlyValue.pprop pprop1,_,_))::(_,(_
,A_LPAREN1left,_))::rest671) => let val result=MlyValue.pprop(fn _ => 
let val pprop as pprop1=pprop1 ()
 in (pprop) end
)
 in (LrTable.NT 17,(result,A_LPAREN1left,A_RPAREN1right),rest671) end
| (55,(_,(_,_,A_RBRACE1right))::(_,(MlyValue.aptrlist aptrlist1,_,_))
::(_,(_,A_LBRACE1left,_))::rest671) => let val result=
MlyValue.a_pisetlist(fn _ => let val aptrlist as aptrlist1=aptrlist1 
()
 in ([aptrlist]) end
)
 in (LrTable.NT 14,(result,A_LBRACE1left,A_RBRACE1right),rest671) end
| (56,(_,(MlyValue.a_pisetlist a_pisetlist1,_,a_pisetlist1right))::_::
_::(_,(MlyValue.aptrlist aptrlist1,_,_))::(_,(_,A_LBRACE1left,_))::
rest671) => let val result=MlyValue.a_pisetlist(fn _ => let val 
aptrlist as aptrlist1=aptrlist1 ()
val a_pisetlist as a_pisetlist1=a_pisetlist1 ()
 in (aptrlist :: a_pisetlist) end
)
 in (LrTable.NT 14,(result,A_LBRACE1left,a_pisetlist1right),rest671)
 end
| (57,rest671) => let val result=MlyValue.aptrlist(fn _ => ([]))
 in (LrTable.NT 12,(result,defaultPos,defaultPos),rest671) end
| (58,(_,(MlyValue.aptrlist2 aptrlist21,aptrlist21left,aptrlist21right
))::rest671) => let val result=MlyValue.aptrlist(fn _ => let val 
aptrlist2 as aptrlist21=aptrlist21 ()
 in (aptrlist2) end
)
 in (LrTable.NT 12,(result,aptrlist21left,aptrlist21right),rest671)
 end
| (59,(_,(MlyValue.aptr aptr1,aptr1left,aptr1right))::rest671) => let 
val result=MlyValue.aptrlist2(fn _ => let val aptr as aptr1=aptr1 ()
 in ([aptr]) end
)
 in (LrTable.NT 13,(result,aptr1left,aptr1right),rest671) end
| (60,(_,(MlyValue.aptrlist2 aptrlist21,_,aptrlist21right))::_::(_,(
MlyValue.aptr aptr1,aptr1left,_))::rest671) => let val result=
MlyValue.aptrlist2(fn _ => let val aptr as aptr1=aptr1 ()
val aptrlist2 as aptrlist21=aptrlist21 ()
 in (aptr :: aptrlist2) end
)
 in (LrTable.NT 13,(result,aptr1left,aptrlist21right),rest671) end
| (61,(_,(_,A_EAX1left,A_EAX1right))::rest671) => let val result=
MlyValue.areg(fn _ => (A.Eax))
 in (LrTable.NT 26,(result,A_EAX1left,A_EAX1right),rest671) end
| (62,(_,(_,A_EBX1left,A_EBX1right))::rest671) => let val result=
MlyValue.areg(fn _ => (A.Ebx))
 in (LrTable.NT 26,(result,A_EBX1left,A_EBX1right),rest671) end
| (63,(_,(_,A_ECX1left,A_ECX1right))::rest671) => let val result=
MlyValue.areg(fn _ => (A.Ecx))
 in (LrTable.NT 26,(result,A_ECX1left,A_ECX1right),rest671) end
| (64,(_,(_,A_EDX1left,A_EDX1right))::rest671) => let val result=
MlyValue.areg(fn _ => (A.Edx))
 in (LrTable.NT 26,(result,A_EDX1left,A_EDX1right),rest671) end
| (65,(_,(_,A_EDI1left,A_EDI1right))::rest671) => let val result=
MlyValue.areg(fn _ => (A.Edi))
 in (LrTable.NT 26,(result,A_EDI1left,A_EDI1right),rest671) end
| (66,(_,(_,A_ESI1left,A_ESI1right))::rest671) => let val result=
MlyValue.areg(fn _ => (A.Esi))
 in (LrTable.NT 26,(result,A_ESI1left,A_ESI1right),rest671) end
| (67,(_,(_,A_EBP1left,A_EBP1right))::rest671) => let val result=
MlyValue.areg(fn _ => (A.Ebp))
 in (LrTable.NT 26,(result,A_EBP1left,A_EBP1right),rest671) end
| (68,(_,(_,A_ESP1left,A_ESP1right))::rest671) => let val result=
MlyValue.areg(fn _ => (A.Esp))
 in (LrTable.NT 26,(result,A_ESP1left,A_ESP1right),rest671) end
| (69,(_,(MlyValue.instr instr1,instr1left,instr1right))::rest671) => 
let val result=MlyValue.instrs(fn _ => let val instr as instr1=instr1 
()
 in ([instr]) end
)
 in (LrTable.NT 23,(result,instr1left,instr1right),rest671) end
| (70,(_,(MlyValue.instrs instrs1,_,instrs1right))::(_,(MlyValue.instr
 instr1,instr1left,_))::rest671) => let val result=MlyValue.instrs(fn 
_ => let val instr as instr1=instr1 ()
val instrs as instrs1=instrs1 ()
 in (instr :: instrs) end
)
 in (LrTable.NT 23,(result,instr1left,instrs1right),rest671) end
| (71,(_,(MlyValue.reg reg2,_,reg2right))::_::(_,(MlyValue.reg reg1,_,
_))::(_,(_,ADDLleft as ADDL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Addr (reg1, reg2, ADDLleft)) end
)
 in (LrTable.NT 24,(result,ADDL1left,reg2right),rest671) end
| (72,(_,(MlyValue.reg reg1,_,reg1right))::_::(_,(MlyValue.INTC INTC1,
_,_))::_::(_,(_,ADDLleft as ADDL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val INTC as INTC1=INTC1 ()
val reg as reg1=reg1 ()
 in (A.Addz (INTC, reg, ADDLleft)) end
)
 in (LrTable.NT 24,(result,ADDL1left,reg1right),rest671) end
| (73,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg reg1
,_,_))::_::(_,(MlyValue.INTC INTC1,_,_))::(_,(_,ADDLleft as ADDL1left,
_))::rest671) => let val result=MlyValue.instr(fn _ => let val INTC
 as INTC1=INTC1 ()
val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Addm (INTC, reg1, reg2, ADDLleft)) end
)
 in (LrTable.NT 24,(result,ADDL1left,reg2right),rest671) end
| (74,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg reg1
,_,_))::_::(_,(_,ADDLleft as ADDL1left,_))::rest671) => let val result
=MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Addm (0, reg1, reg2, ADDLleft)) end
)
 in (LrTable.NT 24,(result,ADDL1left,reg2right),rest671) end
| (75,(_,(MlyValue.reg reg2,_,reg2right))::_::(_,(MlyValue.reg reg1,_,
_))::(_,(_,SUBLleft as SUBL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Subr (reg1, reg2, SUBLleft)) end
)
 in (LrTable.NT 24,(result,SUBL1left,reg2right),rest671) end
| (76,(_,(MlyValue.reg reg1,_,reg1right))::_::(_,(MlyValue.INTC INTC1,
_,_))::_::(_,(_,SUBLleft as SUBL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val INTC as INTC1=INTC1 ()
val reg as reg1=reg1 ()
 in (A.Subz (INTC, reg, SUBLleft)) end
)
 in (LrTable.NT 24,(result,SUBL1left,reg1right),rest671) end
| (77,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg reg1
,_,_))::_::(_,(MlyValue.INTC INTC1,_,_))::(_,(_,SUBLleft as SUBL1left,
_))::rest671) => let val result=MlyValue.instr(fn _ => let val INTC
 as INTC1=INTC1 ()
val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Subm (INTC, reg1, reg2, SUBLleft)) end
)
 in (LrTable.NT 24,(result,SUBL1left,reg2right),rest671) end
| (78,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg reg1
,_,_))::_::(_,(_,SUBLleft as SUBL1left,_))::rest671) => let val result
=MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Subm (0, reg1, reg2, SUBLleft)) end
)
 in (LrTable.NT 24,(result,SUBL1left,reg2right),rest671) end
| (79,(_,(MlyValue.reg reg2,_,reg2right))::_::(_,(MlyValue.reg reg1,_,
_))::(_,(_,IMULLleft as IMULL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Mulr (reg1, reg2, IMULLleft)) end
)
 in (LrTable.NT 24,(result,IMULL1left,reg2right),rest671) end
| (80,(_,(MlyValue.reg reg1,_,reg1right))::_::(_,(MlyValue.INTC INTC1,
_,_))::_::(_,(_,IMULLleft as IMULL1left,_))::rest671) => let val 
result=MlyValue.instr(fn _ => let val INTC as INTC1=INTC1 ()
val reg as reg1=reg1 ()
 in (A.Mulz (INTC, reg, IMULLleft)) end
)
 in (LrTable.NT 24,(result,IMULL1left,reg1right),rest671) end
| (81,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg reg1
,_,_))::_::(_,(MlyValue.INTC INTC1,_,_))::(_,(_,IMULLleft as 
IMULL1left,_))::rest671) => let val result=MlyValue.instr(fn _ => let 
val INTC as INTC1=INTC1 ()
val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Mulm (INTC, reg1, reg2, IMULLleft)) end
)
 in (LrTable.NT 24,(result,IMULL1left,reg2right),rest671) end
| (82,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg reg1
,_,_))::_::(_,(_,IMULLleft as IMULL1left,_))::rest671) => let val 
result=MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Mulm (0, reg1, reg2, IMULLleft)) end
)
 in (LrTable.NT 24,(result,IMULL1left,reg2right),rest671) end
| (83,(_,(MlyValue.reg reg1,_,reg1right))::(_,(_,IDIVLleft as 
IDIVL1left,_))::rest671) => let val result=MlyValue.instr(fn _ => let 
val reg as reg1=reg1 ()
 in (A.Div (reg, IDIVLleft)) end
)
 in (LrTable.NT 24,(result,IDIVL1left,reg1right),rest671) end
| (84,(_,(_,CLTDleft as CLTD1left,CLTD1right))::rest671) => let val 
result=MlyValue.instr(fn _ => (A.Cltd CLTDleft))
 in (LrTable.NT 24,(result,CLTD1left,CLTD1right),rest671) end
| (85,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg reg1
,_,_))::_::(_,(MlyValue.INTC INTC1,_,_))::(_,(_,MOVLleft as MOVL1left,
_))::rest671) => let val result=MlyValue.instr(fn _ => let val INTC
 as INTC1=INTC1 ()
val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Movld (INTC, reg1, reg2, MOVLleft)) end
)
 in (LrTable.NT 24,(result,MOVL1left,reg2right),rest671) end
| (86,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg reg1
,_,_))::_::(_,(_,MOVLleft as MOVL1left,_))::rest671) => let val result
=MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Movld (0, reg1, reg2, MOVLleft)) end
)
 in (LrTable.NT 24,(result,MOVL1left,reg2right),rest671) end
| (87,(_,(MlyValue.reg reg2,_,reg2right))::_::(_,(MlyValue.reg reg1,_,
_))::(_,(_,MOVLleft as MOVL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Movr (reg1, reg2, MOVLleft)) end
)
 in (LrTable.NT 24,(result,MOVL1left,reg2right),rest671) end
| (88,(_,(_,_,RPAREN1right))::(_,(MlyValue.reg reg2,_,_))::_::(_,(
MlyValue.INTC INTC1,_,_))::_::(_,(MlyValue.reg reg1,_,_))::(_,(_,
MOVLleft as MOVL1left,_))::rest671) => let val result=MlyValue.instr(
fn _ => let val reg1=reg1 ()
val INTC as INTC1=INTC1 ()
val reg2=reg2 ()
 in (A.Movst (reg1, INTC, reg2, MOVLleft)) end
)
 in (LrTable.NT 24,(result,MOVL1left,RPAREN1right),rest671) end
| (89,(_,(_,_,RPAREN1right))::(_,(MlyValue.reg reg2,_,_))::_::_::(_,(
MlyValue.reg reg1,_,_))::(_,(_,MOVLleft as MOVL1left,_))::rest671) => 
let val result=MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Movst (reg1, 0, reg2, MOVLleft)) end
)
 in (LrTable.NT 24,(result,MOVL1left,RPAREN1right),rest671) end
| (90,(_,(_,_,RANNO1right))::(_,(MlyValue.tipe tipe1,_,_))::_::(_,(
MlyValue.reg reg1,_,_))::_::(_,(MlyValue.INTC INTC1,_,_))::_::(_,(_,
MOVLleft as MOVL1left,_))::rest671) => let val result=MlyValue.instr(
fn _ => let val INTC as INTC1=INTC1 ()
val reg as reg1=reg1 ()
val tipe as tipe1=tipe1 ()
 in (A.Movz (INTC, reg, tipe, MOVLleft)) end
)
 in (LrTable.NT 24,(result,MOVL1left,RANNO1right),rest671) end
| (91,(_,(MlyValue.reg reg2,_,reg2right))::_::(_,(MlyValue.reg reg1,_,
_))::(_,(_,XCHGleft as XCHG1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Xchg (reg1, reg2, XCHGleft)) end
)
 in (LrTable.NT 24,(result,XCHG1left,reg2right),rest671) end
| (92,(_,(MlyValue.reg reg2,_,reg2right))::_::(_,(MlyValue.reg reg1,_,
_))::(_,(_,CMPLleft as CMPL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Cmpr (reg1, reg2, CMPLleft)) end
)
 in (LrTable.NT 24,(result,CMPL1left,reg2right),rest671) end
| (93,(_,(MlyValue.reg reg1,_,reg1right))::_::(_,(MlyValue.INTC INTC1,
_,_))::_::(_,(_,CMPLleft as CMPL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val INTC as INTC1=INTC1 ()
val reg as reg1=reg1 ()
 in (A.Cmpz (INTC, reg, CMPLleft)) end
)
 in (LrTable.NT 24,(result,CMPL1left,reg1right),rest671) end
| (94,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,JMPleft as JMP1left,_))
::rest671) => let val result=MlyValue.instr(fn _ => let val ID as ID1=
ID1 ()
 in (A.Jmp (ID, JMPleft)) end
)
 in (LrTable.NT 24,(result,JMP1left,ID1right),rest671) end
| (95,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,JEleft as JE1left,_))::
rest671) => let val result=MlyValue.instr(fn _ => let val ID as ID1=
ID1 ()
 in (A.Je (ID, junkLabel, JEleft)) end
)
 in (LrTable.NT 24,(result,JE1left,ID1right),rest671) end
| (96,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,JGleft as JG1left,_))::
rest671) => let val result=MlyValue.instr(fn _ => let val ID as ID1=
ID1 ()
 in (A.Jg (ID, junkLabel, JGleft)) end
)
 in (LrTable.NT 24,(result,JG1left,ID1right),rest671) end
| (97,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,JGEleft as JGE1left,_))
::rest671) => let val result=MlyValue.instr(fn _ => let val ID as ID1=
ID1 ()
 in (A.Jge (ID, junkLabel, JGEleft)) end
)
 in (LrTable.NT 24,(result,JGE1left,ID1right),rest671) end
| (98,(_,(_,_,RANNO1right))::(_,(MlyValue.pprop pprop1,_,_))::_::_::(_
,(MlyValue.ID ID1,IDleft as ID1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val ID as ID1=ID1 ()
val pprop as pprop1=pprop1 ()
 in (A.Label (ID, pprop, IDleft)) end
)
 in (LrTable.NT 24,(result,ID1left,RANNO1right),rest671) end
| (99,(_,(_,_,COLON1right))::(_,(MlyValue.ID ID1,IDleft as ID1left,_))
::rest671) => let val result=MlyValue.instr(fn _ => let val ID as ID1=
ID1 ()
 in (A.Label (ID, A.Ptrue, IDleft)) end
)
 in (LrTable.NT 24,(result,ID1left,COLON1right),rest671) end
| (100,(_,(MlyValue.reg reg1,_,reg1right))::_::(_,(MlyValue.ID ID1,_,_
))::(_,(_,LEALleft as LEAL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val ID as ID1=ID1 ()
val reg as reg1=reg1 ()
 in (A.Leal (ID, reg, LEALleft)) end
)
 in (LrTable.NT 24,(result,LEAL1left,reg1right),rest671) end
| (101,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg 
reg1,_,_))::_::(_,(_,LEALleft as LEAL1left,_))::rest671) => let val 
result=MlyValue.instr(fn _ => let val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Leab (0, reg1, reg2, LEALleft)) end
)
 in (LrTable.NT 24,(result,LEAL1left,reg2right),rest671) end
| (102,(_,(MlyValue.reg reg2,_,reg2right))::_::_::(_,(MlyValue.reg 
reg1,_,_))::_::(_,(MlyValue.INTC INTC1,_,_))::(_,(_,LEALleft as 
LEAL1left,_))::rest671) => let val result=MlyValue.instr(fn _ => let 
val INTC as INTC1=INTC1 ()
val reg1=reg1 ()
val reg2=reg2 ()
 in (A.Leab (INTC, reg1, reg2, LEALleft)) end
)
 in (LrTable.NT 24,(result,LEAL1left,reg2right),rest671) end
| (103,(_,(MlyValue.reg reg1,_,reg1right))::(_,(_,PUSHLleft as 
PUSHL1left,_))::rest671) => let val result=MlyValue.instr(fn _ => let 
val reg as reg1=reg1 ()
 in (A.Push (reg, PUSHLleft)) end
)
 in (LrTable.NT 24,(result,PUSHL1left,reg1right),rest671) end
| (104,(_,(MlyValue.reg reg1,_,reg1right))::(_,(_,POPLleft as 
POPL1left,_))::rest671) => let val result=MlyValue.instr(fn _ => let 
val reg as reg1=reg1 ()
 in (A.Pop (reg, POPLleft)) end
)
 in (LrTable.NT 24,(result,POPL1left,reg1right),rest671) end
| (105,(_,(_,_,FREE1right))::(_,(_,CALLleft as CALL1left,_))::rest671)
 => let val result=MlyValue.instr(fn _ => (A.CallFree (CALLleft)))
 in (LrTable.NT 24,(result,CALL1left,FREE1right),rest671) end
| (106,(_,(_,_,RANNO1right))::(_,(MlyValue.tipe tipe1,_,_))::_::_::(_,
(_,CALLleft as CALL1left,_))::rest671) => let val result=
MlyValue.instr(fn _ => let val tipe as tipe1=tipe1 ()
 in (A.CallMalloc (tipe, CALLleft)) end
)
 in (LrTable.NT 24,(result,CALL1left,RANNO1right),rest671) end
| (107,(_,(MlyValue.ID ID1,_,ID1right))::(_,(_,CALLleft as CALL1left,_
))::rest671) => let val result=MlyValue.instr(fn _ => let val ID as 
ID1=ID1 ()
 in (A.Call (ID, junkLabel, CALLleft)) end
)
 in (LrTable.NT 24,(result,CALL1left,ID1right),rest671) end
| (108,(_,(_,RETleft as RET1left,RET1right))::rest671) => let val 
result=MlyValue.instr(fn _ => (A.Ret (junkLabel, RETleft)))
 in (LrTable.NT 24,(result,RET1left,RET1right),rest671) end
| (109,(_,(_,EAX1left,EAX1right))::rest671) => let val result=
MlyValue.reg(fn _ => (A.Eax))
 in (LrTable.NT 25,(result,EAX1left,EAX1right),rest671) end
| (110,(_,(_,EBX1left,EBX1right))::rest671) => let val result=
MlyValue.reg(fn _ => (A.Ebx))
 in (LrTable.NT 25,(result,EBX1left,EBX1right),rest671) end
| (111,(_,(_,ECX1left,ECX1right))::rest671) => let val result=
MlyValue.reg(fn _ => (A.Ecx))
 in (LrTable.NT 25,(result,ECX1left,ECX1right),rest671) end
| (112,(_,(_,EDX1left,EDX1right))::rest671) => let val result=
MlyValue.reg(fn _ => (A.Edx))
 in (LrTable.NT 25,(result,EDX1left,EDX1right),rest671) end
| (113,(_,(_,EDI1left,EDI1right))::rest671) => let val result=
MlyValue.reg(fn _ => (A.Edi))
 in (LrTable.NT 25,(result,EDI1left,EDI1right),rest671) end
| (114,(_,(_,ESI1left,ESI1right))::rest671) => let val result=
MlyValue.reg(fn _ => (A.Esi))
 in (LrTable.NT 25,(result,ESI1left,ESI1right),rest671) end
| (115,(_,(_,EBP1left,EBP1right))::rest671) => let val result=
MlyValue.reg(fn _ => (A.Ebp))
 in (LrTable.NT 25,(result,EBP1left,EBP1right),rest671) end
| (116,(_,(_,ESP1left,ESP1right))::rest671) => let val result=
MlyValue.reg(fn _ => (A.Esp))
 in (LrTable.NT 25,(result,ESP1left,ESP1right),rest671) end
| (117,(_,(MlyValue.datas datas1,_,datas1right))::(_,(MlyValue.INTC 
INTC1,_,_))::_::(_,(_,DATAleft as DATA1left,_))::rest671) => let val 
result=MlyValue.datasec(fn _ => let val INTC1=INTC1 ()
val datas as datas1=datas1 ()
 in (A.Data1 {datas=datas, pos=DATAleft}) end
)
 in (LrTable.NT 18,(result,DATA1left,datas1right),rest671) end
| (118,rest671) => let val result=MlyValue.datas(fn _ => ([]))
 in (LrTable.NT 19,(result,defaultPos,defaultPos),rest671) end
| (119,(_,(MlyValue.datas datas1,_,datas1right))::(_,(MlyValue.data 
data1,data1left,_))::rest671) => let val result=MlyValue.datas(fn _
 => let val data as data1=data1 ()
val datas as datas1=datas1 ()
 in (data :: datas) end
)
 in (LrTable.NT 19,(result,data1left,datas1right),rest671) end
| (120,(_,(MlyValue.INTC INTC1,_,INTC1right))::_::_::(_,(MlyValue.ID 
ID1,IDleft as ID1left,_))::rest671) => let val result=MlyValue.data(
fn _ => let val ID as ID1=ID1 ()
val INTC as INTC1=INTC1 ()
 in (A.Dec {name=ID, rept=1, tipe=A.Int, value=INTC, pos=IDleft}) end
)
 in (LrTable.NT 20,(result,ID1left,INTC1right),rest671) end
| (121,(_,(_,_,ENDR1right))::(_,(MlyValue.INTC INTC2,_,_))::_::(_,(
MlyValue.INTC INTC1,_,_))::_::_::(_,(MlyValue.ID ID1,IDleft as ID1left
,_))::rest671) => let val result=MlyValue.data(fn _ => let val ID as 
ID1=ID1 ()
val INTC1=INTC1 ()
val INTC2=INTC2 ()
 in (A.Dec {name=ID, rept=INTC1, tipe=A.Int, value=INTC2, pos=IDleft})
 end
)
 in (LrTable.NT 20,(result,ID1left,ENDR1right),rest671) end
| _ => raise (mlyAction i392)
end
val void = MlyValue.VOID
val extract = fn a => (fn MlyValue.prog x => x
| _ => let exception ParseInternal
	in raise ParseInternal end) a ()
end
end
structure Tokens : x86_TOKENS =
struct
type svalue = ParserData.svalue
type ('a,'b) token = ('a,'b) Token.token
fun EOF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 0,(
ParserData.MlyValue.VOID,p1,p2))
fun ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 1,(
ParserData.MlyValue.ID (fn () => i),p1,p2))
fun A_ID (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 2,(
ParserData.MlyValue.A_ID (fn () => i),p1,p2))
fun INTC (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 3,(
ParserData.MlyValue.INTC (fn () => i),p1,p2))
fun A_INTC (i,p1,p2) = Token.TOKEN (ParserData.LrTable.T 4,(
ParserData.MlyValue.A_INTC (fn () => i),p1,p2))
fun LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 5,(
ParserData.MlyValue.VOID,p1,p2))
fun A_LPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 6,(
ParserData.MlyValue.VOID,p1,p2))
fun RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 7,(
ParserData.MlyValue.VOID,p1,p2))
fun A_RPAREN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 8,(
ParserData.MlyValue.VOID,p1,p2))
fun DOLLAR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 9,(
ParserData.MlyValue.VOID,p1,p2))
fun LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 10,(
ParserData.MlyValue.VOID,p1,p2))
fun A_LBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 11,(
ParserData.MlyValue.VOID,p1,p2))
fun RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 12,(
ParserData.MlyValue.VOID,p1,p2))
fun A_RBRACE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 13,(
ParserData.MlyValue.VOID,p1,p2))
fun LREGU (p1,p2) = Token.TOKEN (ParserData.LrTable.T 14,(
ParserData.MlyValue.VOID,p1,p2))
fun A_LREGU (p1,p2) = Token.TOKEN (ParserData.LrTable.T 15,(
ParserData.MlyValue.VOID,p1,p2))
fun RREGU (p1,p2) = Token.TOKEN (ParserData.LrTable.T 16,(
ParserData.MlyValue.VOID,p1,p2))
fun A_RREGU (p1,p2) = Token.TOKEN (ParserData.LrTable.T 17,(
ParserData.MlyValue.VOID,p1,p2))
fun ARRAY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 18,(
ParserData.MlyValue.VOID,p1,p2))
fun A_ARRAY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 19,(
ParserData.MlyValue.VOID,p1,p2))
fun SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 20,(
ParserData.MlyValue.VOID,p1,p2))
fun A_SEMICOLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 21,(
ParserData.MlyValue.VOID,p1,p2))
fun COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 22,(
ParserData.MlyValue.VOID,p1,p2))
fun A_COMMA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 23,(
ParserData.MlyValue.VOID,p1,p2))
fun COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 24,(
ParserData.MlyValue.VOID,p1,p2))
fun A_COLON (p1,p2) = Token.TOKEN (ParserData.LrTable.T 25,(
ParserData.MlyValue.VOID,p1,p2))
fun RET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 26,(
ParserData.MlyValue.VOID,p1,p2))
fun EAX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 27,(
ParserData.MlyValue.VOID,p1,p2))
fun EBX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 28,(
ParserData.MlyValue.VOID,p1,p2))
fun ECX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 29,(
ParserData.MlyValue.VOID,p1,p2))
fun EDX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 30,(
ParserData.MlyValue.VOID,p1,p2))
fun EDI (p1,p2) = Token.TOKEN (ParserData.LrTable.T 31,(
ParserData.MlyValue.VOID,p1,p2))
fun ESI (p1,p2) = Token.TOKEN (ParserData.LrTable.T 32,(
ParserData.MlyValue.VOID,p1,p2))
fun EBP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 33,(
ParserData.MlyValue.VOID,p1,p2))
fun ESP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 34,(
ParserData.MlyValue.VOID,p1,p2))
fun A_EAX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 35,(
ParserData.MlyValue.VOID,p1,p2))
fun A_EBX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 36,(
ParserData.MlyValue.VOID,p1,p2))
fun A_ECX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 37,(
ParserData.MlyValue.VOID,p1,p2))
fun A_EDX (p1,p2) = Token.TOKEN (ParserData.LrTable.T 38,(
ParserData.MlyValue.VOID,p1,p2))
fun A_ESI (p1,p2) = Token.TOKEN (ParserData.LrTable.T 39,(
ParserData.MlyValue.VOID,p1,p2))
fun A_EDI (p1,p2) = Token.TOKEN (ParserData.LrTable.T 40,(
ParserData.MlyValue.VOID,p1,p2))
fun A_EBP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 41,(
ParserData.MlyValue.VOID,p1,p2))
fun A_ESP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 42,(
ParserData.MlyValue.VOID,p1,p2))
fun MYINT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 43,(
ParserData.MlyValue.VOID,p1,p2))
fun A_MYINT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 44,(
ParserData.MlyValue.VOID,p1,p2))
fun MYBOOL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 45,(
ParserData.MlyValue.VOID,p1,p2))
fun A_MYBOOL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 46,(
ParserData.MlyValue.VOID,p1,p2))
fun MYVOID (p1,p2) = Token.TOKEN (ParserData.LrTable.T 47,(
ParserData.MlyValue.VOID,p1,p2))
fun A_MYVOID (p1,p2) = Token.TOKEN (ParserData.LrTable.T 48,(
ParserData.MlyValue.VOID,p1,p2))
fun MYSTRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 49,(
ParserData.MlyValue.VOID,p1,p2))
fun A_MYSTRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 50,(
ParserData.MlyValue.VOID,p1,p2))
fun ADDL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 51,(
ParserData.MlyValue.VOID,p1,p2))
fun CMPL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 52,(
ParserData.MlyValue.VOID,p1,p2))
fun XCHG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 53,(
ParserData.MlyValue.VOID,p1,p2))
fun TEXT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 54,(
ParserData.MlyValue.VOID,p1,p2))
fun DATA (p1,p2) = Token.TOKEN (ParserData.LrTable.T 55,(
ParserData.MlyValue.VOID,p1,p2))
fun ALIGN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 56,(
ParserData.MlyValue.VOID,p1,p2))
fun GLOBL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 57,(
ParserData.MlyValue.VOID,p1,p2))
fun SUBL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 58,(
ParserData.MlyValue.VOID,p1,p2))
fun IMULL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 59,(
ParserData.MlyValue.VOID,p1,p2))
fun LEAVE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 60,(
ParserData.MlyValue.VOID,p1,p2))
fun LEAL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 61,(
ParserData.MlyValue.VOID,p1,p2))
fun MOVL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 62,(
ParserData.MlyValue.VOID,p1,p2))
fun POPL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 63,(
ParserData.MlyValue.VOID,p1,p2))
fun PUSHL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 64,(
ParserData.MlyValue.VOID,p1,p2))
fun JMP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 65,(
ParserData.MlyValue.VOID,p1,p2))
fun JE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 66,(
ParserData.MlyValue.VOID,p1,p2))
fun JG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 67,(
ParserData.MlyValue.VOID,p1,p2))
fun JGE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 68,(
ParserData.MlyValue.VOID,p1,p2))
fun CALL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 69,(
ParserData.MlyValue.VOID,p1,p2))
fun MALLOC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 70,(
ParserData.MlyValue.VOID,p1,p2))
fun A_ADD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 71,(
ParserData.MlyValue.VOID,p1,p2))
fun MINUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 72,(
ParserData.MlyValue.VOID,p1,p2))
fun A_MINUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 73,(
ParserData.MlyValue.VOID,p1,p2))
fun MUL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 74,(
ParserData.MlyValue.VOID,p1,p2))
fun A_MUL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 75,(
ParserData.MlyValue.VOID,p1,p2))
fun DIV (p1,p2) = Token.TOKEN (ParserData.LrTable.T 76,(
ParserData.MlyValue.VOID,p1,p2))
fun A_DIV (p1,p2) = Token.TOKEN (ParserData.LrTable.T 77,(
ParserData.MlyValue.VOID,p1,p2))
fun IDIVL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 78,(
ParserData.MlyValue.VOID,p1,p2))
fun CLTD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 79,(
ParserData.MlyValue.VOID,p1,p2))
fun MODUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 80,(
ParserData.MlyValue.VOID,p1,p2))
fun A_MODUS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 81,(
ParserData.MlyValue.VOID,p1,p2))
fun ASSIGN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 82,(
ParserData.MlyValue.VOID,p1,p2))
fun A_ASSIGN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 83,(
ParserData.MlyValue.VOID,p1,p2))
fun GT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 84,(
ParserData.MlyValue.VOID,p1,p2))
fun A_GT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 85,(
ParserData.MlyValue.VOID,p1,p2))
fun GE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 86,(
ParserData.MlyValue.VOID,p1,p2))
fun A_GE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 87,(
ParserData.MlyValue.VOID,p1,p2))
fun LT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 88,(
ParserData.MlyValue.VOID,p1,p2))
fun A_LT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 89,(
ParserData.MlyValue.VOID,p1,p2))
fun LE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 90,(
ParserData.MlyValue.VOID,p1,p2))
fun A_LE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 91,(
ParserData.MlyValue.VOID,p1,p2))
fun EQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 92,(
ParserData.MlyValue.VOID,p1,p2))
fun A_EQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 93,(
ParserData.MlyValue.VOID,p1,p2))
fun NEQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 94,(
ParserData.MlyValue.VOID,p1,p2))
fun A_NEQ (p1,p2) = Token.TOKEN (ParserData.LrTable.T 95,(
ParserData.MlyValue.VOID,p1,p2))
fun BAND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 96,(
ParserData.MlyValue.VOID,p1,p2))
fun A_BAND (p1,p2) = Token.TOKEN (ParserData.LrTable.T 97,(
ParserData.MlyValue.VOID,p1,p2))
fun BOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 98,(
ParserData.MlyValue.VOID,p1,p2))
fun A_BOR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 99,(
ParserData.MlyValue.VOID,p1,p2))
fun NOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 100,(
ParserData.MlyValue.VOID,p1,p2))
fun A_NOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 101,(
ParserData.MlyValue.VOID,p1,p2))
fun TRUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 102,(
ParserData.MlyValue.VOID,p1,p2))
fun A_TRUE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 103,(
ParserData.MlyValue.VOID,p1,p2))
fun FALSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 104,(
ParserData.MlyValue.VOID,p1,p2))
fun A_FALSE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 105,(
ParserData.MlyValue.VOID,p1,p2))
fun DOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 106,(
ParserData.MlyValue.VOID,p1,p2))
fun A_DOT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 107,(
ParserData.MlyValue.VOID,p1,p2))
fun PTR_OP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 108,(
ParserData.MlyValue.VOID,p1,p2))
fun A_PTR_OP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 109,(
ParserData.MlyValue.VOID,p1,p2))
fun FREE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 110,(
ParserData.MlyValue.VOID,p1,p2))
fun ALLOC (p1,p2) = Token.TOKEN (ParserData.LrTable.T 111,(
ParserData.MlyValue.VOID,p1,p2))
fun NULL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 112,(
ParserData.MlyValue.VOID,p1,p2))
fun A_NULL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 113,(
ParserData.MlyValue.VOID,p1,p2))
fun UNARY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 114,(
ParserData.MlyValue.VOID,p1,p2))
fun ASNOP (p1,p2) = Token.TOKEN (ParserData.LrTable.T 115,(
ParserData.MlyValue.VOID,p1,p2))
fun LONG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 116,(
ParserData.MlyValue.VOID,p1,p2))
fun REPT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 117,(
ParserData.MlyValue.VOID,p1,p2))
fun ENDR (p1,p2) = Token.TOKEN (ParserData.LrTable.T 118,(
ParserData.MlyValue.VOID,p1,p2))
fun TAG (p1,p2) = Token.TOKEN (ParserData.LrTable.T 119,(
ParserData.MlyValue.VOID,p1,p2))
fun A_IMPLY (p1,p2) = Token.TOKEN (ParserData.LrTable.T 120,(
ParserData.MlyValue.VOID,p1,p2))
fun A_STRUCT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 121,(
ParserData.MlyValue.VOID,p1,p2))
fun LANNO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 122,(
ParserData.MlyValue.VOID,p1,p2))
fun RANNO (p1,p2) = Token.TOKEN (ParserData.LrTable.T 123,(
ParserData.MlyValue.VOID,p1,p2))
fun A_IFF (p1,p2) = Token.TOKEN (ParserData.LrTable.T 124,(
ParserData.MlyValue.VOID,p1,p2))
fun A_PI (p1,p2) = Token.TOKEN (ParserData.LrTable.T 125,(
ParserData.MlyValue.VOID,p1,p2))
fun A_N (p1,p2) = Token.TOKEN (ParserData.LrTable.T 126,(
ParserData.MlyValue.VOID,p1,p2))
fun A_D (p1,p2) = Token.TOKEN (ParserData.LrTable.T 127,(
ParserData.MlyValue.VOID,p1,p2))
fun A_PREV (p1,p2) = Token.TOKEN (ParserData.LrTable.T 128,(
ParserData.MlyValue.VOID,p1,p2))
fun A_FORALL (p1,p2) = Token.TOKEN (ParserData.LrTable.T 129,(
ParserData.MlyValue.VOID,p1,p2))
fun A_EXISTS (p1,p2) = Token.TOKEN (ParserData.LrTable.T 130,(
ParserData.MlyValue.VOID,p1,p2))
fun A_RESULT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 131,(
ParserData.MlyValue.VOID,p1,p2))
fun A_LIST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 132,(
ParserData.MlyValue.VOID,p1,p2))
fun A_TREE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 133,(
ParserData.MlyValue.VOID,p1,p2))
fun A_LET (p1,p2) = Token.TOKEN (ParserData.LrTable.T 134,(
ParserData.MlyValue.VOID,p1,p2))
fun A_IN (p1,p2) = Token.TOKEN (ParserData.LrTable.T 135,(
ParserData.MlyValue.VOID,p1,p2))
fun A_END (p1,p2) = Token.TOKEN (ParserData.LrTable.T 136,(
ParserData.MlyValue.VOID,p1,p2))
fun A_WILD (p1,p2) = Token.TOKEN (ParserData.LrTable.T 137,(
ParserData.MlyValue.VOID,p1,p2))
fun A_INT (p1,p2) = Token.TOKEN (ParserData.LrTable.T 138,(
ParserData.MlyValue.VOID,p1,p2))
fun A_PRE (p1,p2) = Token.TOKEN (ParserData.LrTable.T 139,(
ParserData.MlyValue.VOID,p1,p2))
fun A_POST (p1,p2) = Token.TOKEN (ParserData.LrTable.T 140,(
ParserData.MlyValue.VOID,p1,p2))
end
end
